package com.sprouting.ops.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sprouting.ops.annotations.invoke.CheckIsNullOrEmpty;
import com.sprouting.ops.annotations.invoke.CheckLength;
import com.sprouting.ops.annotations.invoke.CheckNotNull;
import com.sprouting.ops.interfaces.AddGroup;
import com.sprouting.ops.interfaces.UpdGroup;
import lombok.Data;

/**
 * 第三方厂商与客户
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2023/11/10 15:39
 */
@TableName("ops_third_party")
@Data
public class OpsThirdParty extends BaseModel {

    /**
     * 主键
     */
    @CheckNotNull(message = "非法ID", groups = UpdGroup.class)
    @CheckIsNullOrEmpty(message = "无效ID", groups = AddGroup.class)
    @TableId
    private String id;
    /**
     * 厂商名称
     */
    @CheckLength(min = 1, max = 60, message = "厂商名称超过长度限制")
    @CheckNotNull(message = "请输入厂商名称")
    private String name;
    /**
     * 厂商logo
     * @see DromaraFileStorage#getId()
     */
    private String ico;
    /**
     * 厂商负责人名称
     */
    @CheckLength(max = 150, message = "厂商负责人名称超过长度限制")
    private String responsiblePersonName;
    /**
     * 厂商管理人联系电话
     */
    @CheckLength(max = 30, message = "厂商管理人联系电话超过长度限制")
    private String responsiblePersonPhone;
    /**
     * 厂商统一信用代码
     */
    @CheckLength(max = 20, message = "厂商统一信用代码超过长度限制")
    private String unifiedCode;
    /**
     * 简介
     */
    @CheckLength(max = 1000, message = "简介超过长度限制")
    private String profile;
    /**
     * 备注说明
     */
    @CheckLength(max = 1000, message = "备注超过长度限制")
    private String description;
}
